package com.czm.art_light.param.response;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;

/**
 * Elasticsearch 存储艺术作品 DTO
 */
@Schema(description = "ES存储艺术作品 DTO")
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ArtWorkEsRespDto implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 作品id
     */
    @Schema(description = "作品id")
    private Integer id;

    /**
     * 作品名称
     */
    @Schema(description = "作品名称")
    private String title;

    /**
     * 艺术家名字
     */
    @Schema(description = "艺术家名字")
    private String artistName;


    /**
     * 作品主图小图
     */
    @Schema(description = "作品主图小图")
    private String primaryImageSmallUrl;

    /**
     * 作品总的点击量
     */
    @Schema(description = "作品总的点击量")
    private Long clickCount;

    /**
     * 作品总的下载量
     */
    @Schema(description = "作品总的下载量")
    private Long downloadCount;

    /**
     * 作品总的分享量
     */
    @Schema(description = "作品总的分享量")
    private Long shareCount;

    /**
     * 作品总的喜欢量
     */
    @Schema(description = "作品总的喜欢量")
    private Long likeCount;

    /**
     * 话题名称
     */
    @Schema(description = "话题名称")
    private String topicName;

    /**
     * 类别名称
     */
    @Schema(description = "类别名称")
    private String categoryName;

    /**
     * 流派名称
     */
    @Schema(description = "流派名称")
    private String movementName;
}
